package com.ruoyi.system.dto.kujiale.info;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


/**
 * 渲染图详情实体类（含基础信息、类型、URL等）
 */
@ApiModel(description = "渲染图详情实体，包含渲染图ID、类型、所属房间、URL、创建时间等完整信息")
@Data
public class RenderingImageV1 {

    /**
     * 渲染图ID
     */
    @ApiModelProperty(
            value = "渲染图唯一ID（全局唯一标识）",
            required = true,
            example = "3FO4K5M8YDHR"
    )
    private String picId;

    /**
     * 渲染图类型
     */
    @ApiModelProperty(
            value = "渲染图类型（枚举值：0=普通渲染图，1=全景图，3=俯视图）",
            required = true,
            example = "0"
    )
    private int picType;

    /**
     * 渲染图类型细分
     */
    @ApiModelProperty(
            value = "渲染图类型细分（取值枚举见附录，如0=默认格式、1=高清格式、2=缩略格式等）",
            required = true,
            example = "0"
    )
    private int picDetailType;

    /**
     * 渲染图所属房间的名字
     */
    @ApiModelProperty(
            value = "渲染图对应的房间名称（如客厅、主卧、厨房等）",
            required = true,
            example = "客厅"
    )
    private String roomTypeName;

    /**
     * 渲染图URL（原图）
     */
    @ApiModelProperty(
            value = "渲染图原图URL（可直接访问的完整图片地址）",
            required = true,
            example = "http://qhyxpic.oss.kujiale.com/rbet/2015/03/24/NSHMYLE7TQWA5J3CEY888888_1920x1080.jpg"
    )
    private String img;

    /**
     * 渲染图URL（缩略图）
     */
    @ApiModelProperty(
            value = "渲染图缩略图URL（用于列表展示，加载速度更快）",
            required = true,
            example = "http://qhyxpic.oss.kujiale.com/rbet/2015/03/24/NSHMYLE7TQWA5J3CEY888888_300x200.jpg"
    )
    private String smallImg;

    /**
     * 全景图的链接地址
     */
    @ApiModelProperty(
            value = "全景图访问链接（仅当picType=1时存在，普通图/俯视图该字段为null或空串）",
            required = false,
            example = "https://www.kujiale.com/xiaoguotu/pano/3FO4JLKQ5P95"
    )
    private String panoLink;

    /**
     * 渲染图的创建时间
     */
    @ApiModelProperty(
            value = "渲染图创建时间（时间戳，精确到毫秒，如1620000000000表示2021-05-03 13:20:00）",
            required = true,
            example = "1小时前"
    )
    private String formatCread;

}
